#ifndef __EDGE_H__
#define __EDGE_H__

#include <iostream>

#include "half_edge.h"
#include "vertex.h"

class Edge{
    public:
        Edge(unsigned int);
        Edge(unsigned int, HalfEdge*, HalfEdge*);
        ~Edge();

        void setHE1(HalfEdge *);
        void setHE2(HalfEdge *);

        unsigned int getID();
        HalfEdge *getHE1();
        HalfEdge *getHE2();

        void scale(double);
        void translate(Point);

        void select(bool);
        bool isSelected();

    private:
        unsigned int id;
        HalfEdge *he1, *he2;
        bool selected;
};

#endif
